package com.itdachang.design.structural.flyweight;

/**
 * 可共享和不可共享状态
 * @author gcq
 * @Create 2022-02-13
 */
public abstract class AbstractWaitressFlyweight {

    /**
     * 能否服务
     */
    boolean canService = true;
    /**
     * 正在服务 享元的不可共享属性留给外部进行改变的接口
     */
    abstract void service();

    /**
     * 服务完成 享元的不可共享属性留给外部进行改变的接口
     */
    abstract void end();

    public boolean isCanService() {
        return canService;
    }
}